1. Field
The subject matter discussed herein relates generally to data processing and, more particularly, to mixing of secure and insecure operations at the server such that the server cannot determine secure data and cannot determine the query, and further, homomorphic cryptography on numerical values in digital computing as may applied on the query and query results at the client side.
2. Related Background
In the related art, a database, database as service, or cloud database operation may be performed. More specifically, the database server may holds the data of the user (e.g., user transport data), and the user may perform an operation on the data (e.g., a query). The user may have data which is sensitive, which he or she does not want the server (e.g., cloud owner) to know.
However, the user also may have much more data that he or she wants to load into the server. The user may want all of the data, regardless of level of sensitivity, to reside within the same database. Accordingly, if the data resides together, the operations at the server as well as at the client by the user needs to include “secure data” (e.g., “encrypted data”) operations. Both data transport and addition and deletion must handle both types (e.g., secure and insecure) and queries must be also performed over mixed data. In the related art, a secure (e.g., encrypted) database may be provided in its entirety, but not over mixed data, and not as augmenting a given engine.
The related art approach may lose its security over time, and there is thus a need to retain security and not reduce security as queries are performed.
Additionally, homomorphic cryptography, such as Paillier cryptography, includes many properties. For example, given two values V1 and V2 (referred to as plaintexts), E(V1)=C1 (i.e., encrypting V1 resulting the ciphertext C1) and E(V2)=C2. One of the properties of homomorphic cryptography is that the product of two ciphertexts C1 and C2 will decrypt to the sum of their corresponding plaintexts V1 and V2.
However, homomorphic cryptography and its properties cannot be used on many numerical values as currently represented in digital computing.